home *** CD-ROM | disk | FTP | other *** search
- Path: globe.indirect.com!fnf
- From: fnf@fishpond.amigalib.com (Fred Fish)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: ADE
- Date: 4 Jan 1996 17:53:52 GMT
- Organization: Amiga Library Services
- Message-ID: <4ch47g$ekk@globe.indirect.com>
- References: <4cahvo$fcg@Mars.mcs.com> <4ceier$eil@globe.indirect.com> <oj6g2dwiz6u.fsf@hpsrk.fc.hp.com>
- Reply-To: fnf@amigalib.com
- NNTP-Posting-Host: amigalib.com
-
- In article <oj6g2dwiz6u.fsf@hpsrk.fc.hp.com>,
- Steve Koren <koren@hpsrk.fc.hp.com> wrote:
- >
- >fnf@fishpond.amigalib.com (Fred Fish) wrote:
- >
- >> is that a complete multistage rebuild after each significant change takes
- >> over two days on my A4000 with 40Mhz WarpEngine. I'm getting to be in
- >
- >Holy smokes, Fred! What on earth are you compiling, anyway? :-)
-
- Here are the raw statistics:
-
- Total size of source file tree: 255 Mb
-
- File type Lines Bytes
- --------------------- --------- ----------
- C files (*.c): 3,086,080 85,810,213
- C headers (*.h): 612,378 20,862,101
- C++ files (*.cc): 165,667 3,823,759
- Ada files (*.adb *.ads): 356,691 12,849,740
-
- TOTALS 4,220,816 127,566,629
-
- A complete cycle is normally two complete builds of the tree. When
- you make a change, you build it once, install it, and build it again.
- If both build trees match, then you are done, if not, you have to
- build it again until the last two builds match.
-
- Sometimes a change, such as a C compiler upgrade, will require three
- builds to reach a stable state.
-
- >Depends a whole lot on your source, but on my 040/25, I figure SAS/C is
- >compiling bewteen 100 and 400 C lines per second (much more if you count
- >preprocessed headers). Even at 100 lines/sec, that'd be 17,280,000 source
- >lines in 2 days, never mind that I've got a slower CPU.
- >
- >I guess you must be using gcc? Is it really that much slower?
-
- I haven't actually run any tests to determine an average figure for
- the compiler in terms of lines of code per second. Note though that a
- large part of the build process involves doing things other than
- compiling. For example, many products generate GNU "info" files with
- texinfo, some run TeX to create manuals in dvi and postscript form,
- some distributions use emacs to byte compile elisp files, some use
- groff to generate manual pages. Some parts of the tree are compiled
- more than once during a given build, to generate various flavors (such
- as the half dozen different flavors of ixemul.library). I am also
- using -O2, which is significantly more expensive than just -O.
-
- To top it off, the source tree resides in a CVS repository on another
- system than the Amiga on which the build tree resides, although my
- tests indicate that having the tree local only saves about 20%, which
- is not worth the headaches of having to keep two source trees in sync.
-
- As a *very* rough guess, I would expect that about half of the total
- build time is pure compilation (including C, C++, ADA, and Fortran),
- which means we are compiling about 5 million lines of code in 24 hours
- of CPU time, for about 60 lines per second.
-
- -Fred
- --
- =============================================================================
- Amiga Library Services * 610 N. Alma School Rd, #18 * Chandler, Az 85224-3687
- FAX: (602) 491-0048 Voice: (800) 804-0833 Email: orders@amigalib.com
- =============================================================================
-